1. Field of the Invention
The present invention relates to a concurrent login detection system, and more particularly, to concurrent login detection method and system which can detect concurrent logins with a single user account, into a distributed server, and provide information on a current location where the user utilizes the service.
2. Description of Related Art
According to a conventional art, a user authentication database is maintained for each web server which provides a predetermined service, and when a user logs into the web server, the web server receives a user identifier and a password of the user. Also, login information of the user identifier is retrieved to determine whether the user's login is concurrent login is determined. In this instance, the login information of the user identifier is stored in the user authentication database. Also, when the user's login is the concurrent login, the later login is blocked. This is to prevent a plurality of users from utilizing an identical service with a single user identifier.
However, according to the conventional art, the concurrent login interruption is managed for each server. Accordingly, the concurrent user access may not be easily managed in a system which includes and operates a plurality of servers. Specifically, when a user double logs in a plurality of servers which simultaneously maintain the user's log information, via an identical user identifier, the concurrent login may not be processed.
FIG. 1 is diagram illustrating a network connection of a user terminal and a plurality of servers according to the conventional art.
Referring to FIG. 1, a user may access a first game server 101, a second game server 102, or a third game server 103 using a first user terminal 105 and a second user terminal 106, and utilize a service of the game server. In this instance, the first game server 101, the second game server 102, and the third game server 103 are external servers which are connected to a network 104.
Also, the user may utilize all of the first game server 101, the second game server 102, and the third game server 103, using a single user identifier. As an example, when the user accesses a game site using the single user identifier, the user may utilize various types of games, such as a poker game in the first game server 101, a GOSTOP game in the second game server 102, and a Tetris game in the third game server 103, using the single user identifier.
However, since each game server provides a corresponding game service, and a user authentication was also performed in the each game server, a different user was able to log in a different game server and utilize a game service using a single user identifier.
As an example, it was possible that the user logged in the first game server 101 via the first user terminal 105, and another user simultaneously logged into the second game server 102 via the second user terminal 106 using the identical user identifier and utilized the game service. To solve this problem, a method of periodically checking logged in user identifiers with respect to all game servers and determining a concurrent login was utilized. However, in this case, the concurrent login was not immediately handled.
Also, as described above, different game servers provide different game services respectively. As an example, a user A utilizes a game service which is provided from the first game server 101, and a user B utilizes a game service which is provided from the second game server 102. In this case, when the user A request location information of the user B, location information may not be provided since the user A and the user B are not utilizing the game service in an identical server. Accordingly, as shown in FIG. 2, a method of installing a location server which manages logins/logouts of a plurality of servers was suggested.
FIG. 2 is a diagram illustrating a network connection of connecting a plurality of servers and a location server which manages logins/logouts according to the conventional art.
As shown in FIG. 2, a method of managing login/logout information in a single location by installing a location server 207 which manages logins/logouts of a plurality of servers was suggested to provide location information. Namely, a first game server 201, a second game server 202, and a third game server 203 are connected to the location server 207 via a network 204. When the first game server 201, the second game server 202, and the third game server 203 transmit the user's login information to the location server 207, as a log message, the location server 207 manages the user's log information.
The above method may identify concurrent login. However, when the first game server 201, the second game server 202, and the third game server 203, i.e. external servers, transmit login/logout messages to the location server 207, it is not guaranteed that the login/logout messages sequentially arrive at the location server 207. Accordingly, a method of processing a concurrent login considering a message's arrival order is required.
FIG. 3 is a diagram illustrating a user's log order in an external server and an order that a log message transmitted from the external server arrives at a location server according to the user's login/logout.
As an example, a user A may repeat login and logout in a plurality of external servers where the user A may login using a single user identifier. In this case, according to the conventional art, the user's login messages and logout messages are transmitted from each of the plurality of external servers to a location server. In this instance, as indicated by a reference numeral 301, the user logged in at a time T1, logged out at a time T2. Also, the user logged in at a time T3, and logged out at a time T4, and logged in at a time T5. Accordingly, the user's final login/logout state is a login state.
However, when transmitting the user's log messages from the server where the user repeatedly logged in and logged out, to the location server, it is not guaranteed that the user's log messages sequentially arrive at the location server in a transmission order. Accordingly, when the log message arrives at the location server in an inverted order, the user's login/logout state may not be accurately detected.
Namely, as indicated by a reference numeral 302, the logout message which is generated at the time T4 and the login message which is generated at the time T5 arrived at the location server in an inverted order. In this case, when the location server processes the log messages in a received order, the user's current state may be determined as a logout state although the user's current state is a login state.
Accordingly, a method and system is required, which can accurately determine a user's current login/logout state, although login messages transmitted from a plurality of service servers do not sequentially arrive at a location server in a transmission order, when aggregating and managing the user's login/logout information with respect to the plurality of service servers in the location server.
Also, according to the conventional art, log information is processed using only a user identifier of a transmitted log message. Accordingly, when the log message arrives at a service server, it is impossible to recognize in which server login/logout information was generated. Also, it is impossible to detect a place where the user is utilizing the service.